//
//  HWZBAPIRequest.h
//  HWZB
//
//  Created by 许成雄 on 2017/4/29.
//  Copyright © 2017年 wonders. All rights reserved.
//

#import <Foundation/Foundation.h>
#import "HWZBAPI.h"

@interface HWZBAPIRequest : NSObject

+ (instancetype)sharedInstance;

#pragma mark - Public Method
//用户登录
- (void)userLoginWithParams:(NSDictionary *)params success:(void(^)(LoginResultInfo *))successHandler failure:(void(^)(NSError *))failureHandler;

//用户退出登录
- (void)userLogoutWithParams:(NSDictionary *)params success:(void(^)(CommonInfo *))successHandler failure:(void(^)(NSError *))failureHandler;

//用户注册
- (void)userRegisterWithParams:(NSDictionary *)params success:(void(^)(RegisterResultInfo *))successHandler failure:(void(^)(NSError *))failureHandler;

//获取注册验证码
- (void)getRegisterVerifyCodeWithParams:(NSDictionary *)params success:(void(^)(NSString *))successHandler failure:(void(^)(NSError *))failureHandler;

//获取验证码
- (void)getVerifyCodeWithParams:(NSDictionary *)params success:(void(^)(NSString *))successHandler failure:(void(^)(NSError *))failureHandler;

//忘记密码
- (void)forgetPasswordWithParams:(NSDictionary *)params success:(void(^)(CommonInfo *))successHandler failure:(void(^)(NSError *))failureHandler;

//获取用户协议
- (void)getUserAgreementWithParams:(NSDictionary *)params success:(void(^)(NSString *))successHandler failure:(void(^)(NSError *))failureHandler;

//获取首页banner信息
- (void)getHomeBannerWithParams:(NSDictionary *)params success:(void(^)(NSArray *))successHandler failure:(void(^)(NSError *))failureHandler;

//获取首页banner信息详情
- (void)getHomeBannerDetailWithParams:(NSDictionary *)params success:(void(^)(CommonInfo *))successHandler failure:(void(^)(NSError *))failureHandler;

//获取首页商品列表
- (void)getHomeCommoditiesWithParams:(NSDictionary *)params success:(void(^)(NSArray *))successHandler failure:(void(^)(NSError *))failureHandler;

//获取商城商品列表
- (void)getCommoditiesWithParams:(NSDictionary *)params success:(void(^)(NSArray *))successHandler failure:(void(^)(NSError *))failureHandler;

//获取商城商品详情
- (void)getCommodityDetailWithParams:(NSDictionary *)params success:(void(^)(CommodityDetailInfo *))successHandler failure:(void(^)(NSError *))failureHandler;

//提交订单
- (void)commitOrderWithParams:(NSDictionary *)params success:(void(^)(OrderDetailInfo *))successHandler failure:(void(^)(NSError *))failureHandler;

//购买商品
- (void)payForOrderWithParams:(NSDictionary *)params success:(void(^)(NSString *))successHandler failure:(void(^)(NSError *))failureHandler;

//我的订单
- (void)getMyOrdersWithParams:(NSDictionary *)params success:(void(^)(NSArray *))successHandler failure:(void(^)(NSError *))failureHandler;

//扫码邀请
- (void)getQRCodeInviteWithParams:(NSDictionary *)params success:(void(^)(InviteResultInfo *))successHandler failure:(void(^)(NSError *))failureHandler;

//获取用户信息
- (void)getUserInfoWithParams:(NSDictionary *)params success:(void(^)(UserInfo *))successHandler failure:(void(^)(NSError *))failureHandler;

//修改用户信息
- (void)modifyUserInfoWithParams:(NSDictionary *)params success:(void(^)(CommonInfo *))successHandler failure:(void(^)(NSError *))failureHandler;

//获取账户信息
- (void)getAccountInfoWithParams:(NSDictionary *)params success:(void(^)(AccountInfo *))successHandler failure:(void(^)(NSError *))failureHandler;

//获取团队信息
- (void)getMyTeamInfoWithParams:(NSDictionary *)params success:(void(^)(TeamInfo *))successHandler failure:(void(^)(NSError *))failureHandler;

//提现
- (void)withdrawWithParams:(NSDictionary *)params success:(void(^)(CommonInfo *))successHandler failure:(void(^)(NSError *))failureHandler;

//获取提现记录
- (void)getWithdrawRecordsWithParams:(NSDictionary *)params success:(void(^)(NSArray *))successHandler failure:(void(^)(NSError *))failureHandler;

//获取我要领取信息
- (void)getIGetInfoWithParams:(NSDictionary *)params success:(void(^)(CommonInfo *))successHandler failure:(void(^)(NSError *))failureHandler;

//修改密码
- (void)modifyPasswordWithParams:(NSDictionary *)params success:(void(^)(CommonInfo *))successHandler failure:(void(^)(NSError *))failureHandler;

//版本更新
- (void)updateVersionWithParams:(NSDictionary *)params success:(void(^)(CommonInfo *))successHandler failure:(void(^)(NSError *))failureHandler;

//获取地址字典
- (void)getAddressDictWithParams:(NSDictionary *)params success:(void(^)(NSArray *))successHandler failure:(void(^)(NSError *))failureHandler;

//获取银行字典
- (void)getBankDictWithParams:(NSDictionary *)params success:(void(^)(NSArray *))successHandler failure:(void(^)(NSError *))failureHandler;

//获取商品类型字典
- (void)getCommodityTypeDictWithParams:(NSDictionary *)params success:(void(^)(NSArray *))successHandler failure:(void(^)(NSError *))failureHandler;

@end
